<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			//第二个练习
			//需求: 为所有的 li 节点添加 onclick 响应函数
			//实现 city 子节点和 game 子节点对应位置的元素的互换
			//例如:点击city中的第一个li北京，则与game中的第一个红警互换；再次点击，则北京与红警再次互换；
			//同理，点击city中的第二个li，则与game中的第二个li互换，再次点击，这两个li再次互换
			
			window.onload = function(){
				//获取要交换的节点的父节点
				/*var city = document.getElementById("city");
				var game = document.getElementById("game");
				//	
				var childsCT = city.getElementsByTagName("li");
				var childsGM = city.getElementsByTagName("li");*/
				//获取当前所有的li
				var liNodes = document.getElementsByTagName("li");
				for(var i = 0;i<=liNodes.length-1;i++){
					liNodes[i].index = i;
					liNodes[i].onclick = function(){//给每个li给onclick事件
						otherIndex = 0;
						if(this.index<4){//this
							otherIndex = this.index + 4;//要交换的那个li
						}else{
							otherIndex = this.index - 4//如果是点击的下半部分，就减
						}
						//互换index
						var tempindex=this.index;//等于你当前的index
						this.index = liNodes[otherIndex].index;
						liNodes[otherIndex].index = tempindex;
							
						//交换
						replaceNodes(this,liNodes[otherIndex]);//
						//第一个参数，是当前你点击的   第二个：要交换
					}
					
				}
				
					
				
			}
			//公共代码
			function replaceNodes(aNode, bNode){
				alert(aNode.index);
				//1. 获取 aNode 和 bNode 的父节点. 使用 parentNode 属性
				var aParent = aNode.parentNode;
				var bParent = bNode.parentNode;
				
				if(aParent && bParent){
					//2. 克隆 aNode 或 bNode
					var aNode2 = aNode.cloneNode(true);
					//
					aNode2.onclick = aNode.onclick;
					
					aNode2.index = aNode.index;
					
					//3. 分别调用 aNode 的父节点和 bNode 的父节点的 replaceChild()
					//方法实现节点的互换
					bParent.replaceChild(aNode2, bNode);
					aParent.replaceChild(bNode, aNode);
				}
			}
		
		</script>
	</head>
	<body>
		<ul id="city">
			<li id="bj">北京</li>
			<li>上海</li>
			<li>东京</li>
			<li>首尔</li>
		</ul>
		
		<br><br>
		<p>你喜欢哪款单机游戏?</p>
		<ul id="game">
			<li id="rl">红警</li>
			<li>实况</li>
			<li>极品飞车</li>
			<li>魔兽</li></ul>
	</body>
</html>
